DisplayNode

What is DisplayNode?
DisplayNode is a web-based visualisation tool for Python. The visualizations are displayed in the web-browser and optionally integrate with IPython Notebooks.
It has been thought mainly to visualize volumetric images for medical imaging and graphs and is utilized as a web front-end for the imaging software platform occiput.io.

How does it work?
DisplayNode makes use of four javascript libraries: d3.js (data-driven-documents), openseadragon.js (level-of-detail visualization), three.js (WebGL 3D engine), tipix.js (visualization of sequences of images).

DisplayNode currently generates four types of visualizations:

  • Graphical structures: directed graphs, undirected graphs
  • Images, sets of images, deep-zoom images
  • XY plots
  • 3D shapes

The example that follows displays a simple directed graph:

from DisplayNode import DisplayNode
D = DisplayNode()
nodes = [{'name': 'A', 'type': 0},{'name': 'B', 'type': 0},{'name': 'C', 'type': 2}]
links = [{'source': 'A', 'target': 'C', 'type': 't1'},{'source': 'B', 'target': 'C', 'type': 't1'}]
D.display('graph',{'nodes':nodes,'links':links})

The example that follows displays a sequence of images:

from DisplayNode import DisplayNode
from DisplayNode.examples import random_synthetic_image
D = DisplayNode() 
images = [] 
for i in range(5): 
    images.append( random_synthetic_image() )
D.sisplay('images',images)

Easy install
pip install displaynode

Download source code
Download: DisplayNode on GitHub

Install from source
python setup.py build install

Test
python setup.py test

Run examples
Launch ipython notebook or the python console, then:

import DisplayNode
DisplayNode.examples.display_graph_example()                      
DisplayNode.examples.display_image_example() 
DisplayNode.examples.display_geometry_example()                   
O=DisplayNode.examples.ExampleObjectThatHasGraphicalRepresentation()
O